Skip to content

Add Issuer Trust to Security Considerations#254

Open
jeswr wants to merge 1 commit into
mainfrom
feat/security-issuer-trust
Open

Add Issuer Trust to Security Considerations#254
jeswr wants to merge 1 commit into
mainfrom
feat/security-issuer-trust

Conversation

@jeswr
Copy link
Copy Markdown
Member

@jeswr jeswr commented Apr 26, 2026

The change is small — see the diff. Bikeshed-rendered preview is not currently available for feature branches (the CI build only publishes from main).

Summary

Adds a new non-normative subsection Issuer Trust to § Security Considerations (after § Client Trust), covering two issuer-side considerations that the current text does not surface:

  • Issuer trust is unconditional. Every assertion of the user's identity comes from the issuer. The user is fully reliant on it; a compromised, malicious, or unavailable issuer can deny access, impersonate, or rewrite identity-related claims.
  • Many agents on a single issuer is a single point of failure. Concentration risk grows with the issuer's user base.

Source

Both points were raised by @csarven on solid/specification#776. Surfacing them upstream here as the appropriate home for OIDC-specific Security and Privacy Considerations.

Test plan

  • bikeshed spec (or the project's equivalent) builds without errors.
  • # Security Considerations # {#security} shows the new ## Issuer Trust ## {#security-issuer-trust} subsection between Client Trust and Privacy Considerations.
  • Anchor #security-issuer-trust resolves.

Two non-normative bullets, both raised by @csarven on solid/specification#776
(solid/specification#776 (comment)):

- Issuer trust is unconditional: a compromised / malicious / unavailable
  issuer can deny access, impersonate, or rewrite identity-related claims.
- Many agents on a single issuer is a single point of failure: concentration
  risk grows with the issuer's user base.
Copy link
Copy Markdown
Member

@elf-pavlik elf-pavlik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread index.bs
Comment on lines +535 to +538
* **Issuer trust is unconditional.** Every assertion of the user's identity comes from the issuer.
The user is fully reliant on it; a compromised, malicious, or unavailable issuer can deny access
to all of the user's data, impersonate the user, or selectively rewrite the WebID's
identity-related claims. A high degree of trust in the chosen issuer is therefore necessary.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **Issuer trust is unconditional.** Every assertion of the user's identity comes from the issuer.
The user is fully reliant on it; a compromised, malicious, or unavailable issuer can deny access
to all of the user's data, impersonate the user, or selectively rewrite the WebID's
identity-related claims. A high degree of trust in the chosen issuer is therefore necessary.
* **Identity Provider trust.** Every assertion of the user's identity comes from the identity provider.
The user is fully reliant on it; a compromised, malicious, or unavailable identity provider can deny access
to all of the user's data, impersonate the user, or selectively rewrite the WebID's
identity-related claims. A high degree of trust in the chosen identity provider is therefore necessary.

Comment thread index.bs
The user is fully reliant on it; a compromised, malicious, or unavailable issuer can deny access
to all of the user's data, impersonate the user, or selectively rewrite the WebID's
identity-related claims. A high degree of trust in the chosen issuer is therefore necessary.

Copy link
Copy Markdown
Member Author

@jeswr jeswr Jun 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The authorization server has to choose to trust the identity provider selected by the user before granting access. This choice may be to delegate the choice completely to users, or to restrict the set of identity providers to a specific trust list.

@jeswr jeswr requested a review from uvdsl June 3, 2026 14:39
Comment thread index.bs
Comment on lines +540 to +544
* **Many agents on a single issuer is a single point of failure.** Where many agents share a single
issuer, that issuer is a concentration point: a single compromise, outage, or service-level
decision affects every agent that depends on it. Attacks tend to focus on major centralisations,
so concentration risk grows with the issuer's user base. Implementations offering accounts under
a shared issuer should plan for this risk.
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **Many agents on a single issuer is a single point of failure.** Where many agents share a single
issuer, that issuer is a concentration point: a single compromise, outage, or service-level
decision affects every agent that depends on it. Attacks tend to focus on major centralisations,
so concentration risk grows with the issuer's user base. Implementations offering accounts under
a shared issuer should plan for this risk.
* **The identity provider service is an point of failure.** Identity provider(s) are required to attest an agents identity. Not all authentication methods require an identity provider service, this is a specific requirement of Solid-OIDC.
Agents may have multiple identity providers. Having multiple identity providers can provide redundancy in the event of an outage of one identity provider service. The trade-off is that this increases the attack surface of malicious identity providers.
Where many agents share a single identity provider, that identity provider is a concentration point: a single compromise, outage, or service-level decision affects every agent that depends on it. Attacks tend to focus on major centralisations, so concentration risk grows with the issuer's user base. Implementations offering accounts under a shared issuer should plan for this risk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants